<?php

/**
 *      [Discuz!] (C)2001-2099 Comsenz Inc.
 *      This is NOT a freeware, use is subject to license terms
 *
 *      $Id: spacecp.inc.php 34575 2014-06-04 02:12:08Z nemohou $
 */
if (!defined('IN_DISCUZ')) {
    exit('Access Denied');
}

define('QRCODE_EXPIRE', 1800);

$inspacecp = true;

if (submitcheck('resetpwsubmit') && $_G['wechatuser']['isregister']) {
    if ($_G['setting']['strongpw']) {
        $strongpw_str = array();
        if (in_array(1, $_G['setting']['strongpw']) && !preg_match("/\d+/", $_GET['newpassword1'])) {
            $strongpw_str[] = lang('member/template', 'strongpw_1');
        }
        if (in_array(2, $_G['setting']['strongpw']) && !preg_match("/[a-z]+/", $_GET['newpassword1'])) {
            $strongpw_str[] = lang('member/template', 'strongpw_2');
        }
        if (in_array(3, $_G['setting']['strongpw']) && !preg_match("/[A-Z]+/", $_GET['newpassword1'])) {
            $strongpw_str[] = lang('member/template', 'strongpw_3');
        }
        if (in_array(4, $_G['setting']['strongpw']) && !preg_match("/[^a-zA-z0-9]+/", $_GET['newpassword1'])) {
            $strongpw_str[] = lang('member/template', 'strongpw_4');
        }
        if ($strongpw_str) {
            showmessage(lang('member/template', 'password_weak') . implode(',', $strongpw_str));
        }
    }
    if ($_GET['newpassword1'] !== $_GET['newpassword2']) {
        showmessage('profile_passwd_notmatch');
    }
    if (!$_GET['newpassword1'] || $_GET['newpassword1'] != addslashes($_GET['newpassword1'])) {
        showmessage('profile_passwd_illegal');
    }

    loaducenter();
    uc_user_edit($_G['uid'], addslashes($_G['member']['username']), $_GET['newpassword1']);

    C::t('common_member')->update($_G['uid'], array('password' => md5(random(10))));

    if ($_G['wechat']['setting']['wechat_qrtype']) {
        C::t('#wechat#common_member_wechatmp')->update($_G['uid'], array('status' => 1));
    } else {
        C::t('#wechat#common_member_wechat')->update($_G['uid'], array('isregister' => 0));
    }

    showmessage('wechat:wsq_password_reset', dreferer());
} elseif (submitcheck('unbindsubmit')) {
    require_once libfile('function/member');
    if ($_G['wechat']['setting']['wechat_qrtype']) {
        require_once DISCUZ_ROOT . './source/plugin/wechat/wsq.class.php';
        $member = C::t('#wechat#common_member_wechatmp')->fetch($_G['uid']);
        if (!$member || !wsq::userunbind($_G['uid'], $member['openid'])) {
            showmessage('wechat:wechat_message_unbind_fail');
        }
        C::t('#wechat#common_member_wechatmp')->delete($_G['uid']);
    } else {
        C::t('#wechat#common_member_wechat')->delete($_G['uid']);
        require_once DISCUZ_ROOT . './source/plugin/wechat/wsq.class.php';
        wsq::report('unbind');
    }

    clearcookies();
    showmessage('wechat:wechat_message_unbinded', $_G['siteurl']);
}